A typical computer system includes at least a microprocessor and some form of memory. The microprocessor has, among other components, arithmetic, logic, and control circuitry that interpret and execute instructions necessary for the operation and use of the computer system. FIG. 1 shows a typical computer system 10 having a microprocessor 12, memory 14, integrated circuits (IC) 16 that have various functionalities, and communication paths 18 and 20, i.e., buses and wires, that are necessary for the transfer of data among the aforementioned components of the computer system 10.
Improvements in microprocessor (e.g., 12 in FIG. 1) performance continue to surpass the performance gains of their memory sub-systems. Higher clock rates and increasing number of instructions issued and executed in parallel account for much of this improvement. By exploiting instruction level parallelism, microprocessors are capable of issuing multiple instructions per clock cycle. In other words, such a “multi-issue” microprocessor is capable of dispatching, or issuing, multiple instructions each clock cycle to one or more pipelines in the microprocessor.